perm filename TAPEIT.FAI[TMP,LCS] blob sn#166887 filedate 1975-07-02 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE TAPEIT
C00004 00003	FILIN:	OUTSTR [ASCIZ/
C00006 00004	RNUM:	INCHWL C
C00007 00005	GETNAM:	MOVEI A,
C00036 ENDMK
C⊗;
	TITLE TAPEIT
	EXTERN JOBREL,JOBFF
A←1 ↔ B←2 ↔ C←3 ↔ D←4
E←5 ↔ U←7 ↔ T←11 ↔ P←17
CH←13 ↔ LPDL←←69
LMAR←←=0 ↔ RMAR←←=1699 ↔ WIDTH←←=1700
LBUFL←←=48 ↔ LSTBIT←←1⊗34
OVERLAP←←=50 ↔ DOFF←←-=760

GETTAP:	INIT CH,616
	SIXBIT/MTA0/
	0
	HALT
	MOVE P,[-LPDL,,PDL-1]
BEG:	OUTSTR [ASCIZ/
*/]
	INCHWL E
	CAIN E,111
	JRST FILIN
	CAIE E,106
	JRST BEG
	CLOSE CH,	;FINISH
	STATZ CH,740000
	0
	RELEASE CH,
	OUTSTR [ASCIZ/
	DONE!/]
	EXIT

SIGN:	0
FILNAM:	0
FILEXT:	0
	0
FILPPN:	0

PDL:	BLOCK LPDL
TAPPTR:	IOWD 200,0
	0

FILIN:	OUTSTR [ASCIZ/
	FILE = /]
	SETZM FILEXT+1
	SETZM FILPPN
	MOVSI A,'BIT'
	MOVEM A,FILEXT
	PUSHJ P,GETNAM
	SKIPN A
 	MOVE A,['PLT   ']
    	MOVEM A,FILNAM
	CAIE C,"."
	JRST NOEXTN
	PUSHJ P,GETNAM
	MOVEM A,FILEXT
NOEXTN:	CAIE C,"["
	JRST FFDX
	PUSHJ P,GETP
	HRLZM A,FILPPN
	PUSHJ P,GETP
	HRRM A,FILPPN
FFDX:	INCHRW C
	CAIE C,12
	JRST FFDX
	HRRZ U,JOBFF
	HRRZI T,177(U)
	CORE T,
	JRST FILIN
	SOJ U,
	HRLI U,-200
	OPEN [17↔'DSK   '↔0]
	JRST FILIN
	LOOKUP FILNAM
	JRST FILIN
	SETZ 10,
	INPUT U
	MOVE T,1(U)
	TRNN T,777777
	JRST CLOZE
	HRLI U,(T)
	ADDI U,200
	HRREI A,(T)
	MOVNI T,(T)
	ADDI T,(U)
	CORE T,
	JRST FILIN
	INPUT U
CLOZE:	RELEAS

	
	HRLI U,-200
	SUBI U,200
TOTAPE:	OUTPUT CH,U
	STATZ CH,740000
	0
	ADDI U,200
	ADDI A,200
	JUMPLE A,TOTAPE
	JRST BEG

RNUM:	INCHWL C
	CAIN C,15
	JRST RNUM
	CAIN C,12
	POPJ P,
	AOS (P)
	MOVEI A,
	SETZM SIGN
	CAIN C,"-"
	JRST [	PUSHJ P,RNUML
		SETOM SIGN
		MOVN A,A
		POPJ P,]
	CAIN C,"+"
RNUML:	INCHWL C
	CAIL C,"0"
	CAILE C,"9"
	JRST RNUMX
	IMULI A,12
	ADDI A,-"0"(C)
	JRST RNUML

RNUMX:	CAIN C,15
	INCHRW C
	POPJ P,

GETNAM:	MOVEI A,
	MOVE B,[440600,,A]
GETNML:	PUSHJ P,RCH
	POPJ P,
	SUBI C,40
	TLNE B,770000
	IDPB C,B
	JRST GETNML

GETP:	MOVEI A,
GETPL:	PUSHJ P,RCH
	POPJ P,
	TRNE A,770000
	JRST GETPL
	LSH A,6
	ADDI A,-40(C)
	JRST GETPL

RCH:	INCHWL C
	CAIN C,42
	JRST RCHQ
	CAIE C,11
	CAIN C," "
	JRST RCH
	CAIE C,"."
	CAIN C,","
	POPJ P,
	CAIE C,"["
	CAIN C,"]"
	POPJ P,
RCHQR:	CAIGE C,40
	POPJ P,
	CAIL C,"a"
	CAILE C,"z"
	CAIA
	SUBI C,40
POPJ1:	AOS (P)
	POPJ P,

RCHQ:	INCHWL C
	JRST RCHQR

	END GETTAP